/**
 * Project Name:javaBaseReview
 * Package Name:com.xuwei.base.algorithm
 * author:David
 * Date:2015年6月15日下午6:02:04
 * Copyright (c) 2015, xw123box@126.com All Rights Reserved.
 *
 */
package com.xuwei.base.algorithm;

import java.math.BigInteger;

import org.junit.Test;

/**
 * 用字符串实现大数据之间的算术运算
 * 
 * @author David
 * @since 2015年6月15日 下午6:02:04
 * @version
 * @since JDK 1.6
 */
public class BigCalc {
	
	@Test
	public void test01(){
//		Long a=Long.MAX_VALUE;
//		long b=Long.MAX_VALUE;
//		System.out.println(a);
//		System.out.println(a+b);
		String str1="1243543534646546546465465465464654";
		String str2="32423985348957348957348957348957348574";
		BigInt a=new BigInt(str1);
		BigInt b=new BigInt(str2);
		BigInt res1=a.add(b);
		BigInteger c=new BigInteger(str1);
		BigInteger d=new BigInteger(str2);
		String res2=c.add(d).toString();
		System.out.println(res2);
		
		System.out.println(res2.equals(res1));
		
	}
	
	@Test
	public void testAdd(){
		String str1="1243543534646546546465465465464654";
		String str2="32423985348957348957348957348957348574";
		
		BigInt a=new BigInt(str1);
		BigInt b=new BigInt(str2);
		System.out.println(a.add(b));
	}
	
	@Test
	public void testSubtract(){
//		System.out.println(new BigInt("12").subtract(new BigInt("4")));
		BigInt res = new BigInt("2542244").subtract(new BigInt("2990243553478"));
//		BigInt res = new BigInt("54").subtract(new BigInt("32452"));
		System.out.println(res);
	}
	
	@Test
	public void testMultiply(){
		
	}
	
	@Test
	public void testDivide(){
		
	}
	

}

